import { authApiFetch } from './authFetch';

/**
 * 用于同时在页端和Electron中共同使用的请求方法糖
 * 发送一个授权的JSON请求
 * @param apiPath 页端[api_url]api/[apiPath] Electron 对应 commandKey
 * @param method 页端使用的请求方法， Electron 无效
 * @param requestData 需要提交的参数，get时拼接为url，其他方式作为body提交, Electron 作为参数提交
 */
export const hybridApiFetch = (
    apiPath: string,
    method?: 'GET' | 'POST' | 'PUT' | 'DELETE',
    requestData?: { [key: string]: any }
): Promise<any> =>
    window.__ELE__ ?
        // false ?
        window.ipcRequest(apiPath, window.getUserCache().openId, requestData) :
        authApiFetch(apiPath, method, requestData);
